import axios from 'axios';
import useToken from '../stores/token' 
import config from '../config'
import router from '../router'
import { showLoadingToast, showToast, closeToast} from 'vant'

const baseURL = config.baseURL
const service = axios.create({ baseURL })

// 请求拦截器
service.interceptors.request.use(config => { const { token } = useToken()
showLoadingToast({
message: '加载中...',
forbidClick: true,
loadingType: 'spinner' })
if (token) {
config.headers.jwt = token }
return config })

// 响应拦截器
service.interceptors.response.use(
response => {  closeToast()
const { errno, data, errmsg } = response.data 
if (errno === 0) {
if (errmsg !== '') {
showToast({
message: errmsg, type: 'success'
}) }
return data || true }
showToast({
message: errmsg,
type: 'error' })
if (errno === 2) {
router.push({ name: 'login' }) }
return false },
error => {
closeToast()
showToast ({
message: '请求失败',
type: 'fail' 
}
)
console.log(error)
} 
)

export default service